//当一个对象类型被多次使用，一般使用接口interface来描述对象的类型，从而达到复用的目的。

//1.使用关键字interface来声明接口
//2.接口名称是任意合法的变量名称
//3.接口声明之后，使用接口作为变量的类型

interface IPerson {
  name: string;
  age: number;
  sayHi(): void;
}

let jack: IPerson = {
  name: "JACK",
  age: 21,
  sayHi() {
    console.log("hi,i am", this.name);
  },
};

console.log("jack", jack);
jack.sayHi();

let rose: IPerson = {
  name: "ROSE",
  age: 19,
  sayHi() {
    console.log("hi i am", this.name);
  },
};
console.log("rose", rose);
rose.sayHi();
